#ifndef PERSON_H
#define PERSON_H

#include <iostream>
#include <sstream>
#include "Xml/tinyxml.h"

/**
* @class Person
*
* @brief Representation of a person in an image
*
*
* This class contains variables that represent a person in an
* image, as well as methods for getting and setting them.
*
* @author Elisabeth Lindquist, elisabeth.lindquist@gmail.com
*
*/
class Person{
    public:
        Person(int i);
        Person();
        ~Person();


        int getId();
        float getDistance();
        float getSpeed();
        float getGathered();
        int getPose();
        int getCentreX();
        int getCentreY();
        int getMinX();
        int getMaxX();
        int getMaxY();
        int getMinY();


        void setDistance(float d);
        void setSpeed(float s);
        void setGathered(float g);
        void setPose(int p);
        void setCentre(int x, int y);
        void setMaxX(int x);
        void setMinX(int x);
        void setMaxY(int y);
        void setMinY(int y);

        void print();
        void printXml(TiXmlElement& doc);


    private:
        int id;
        float distance;
        float speed;
        float gathered;
        int centreX,centreY;
        int maxX, minX;
        int maxY, minY;
        int pose;
        TiXmlElement* addElement(const char* name, std::string text);

};
#endif
